In a printing system that operates on an operating system (OS) such as Microsoft Windows, in general, the graphic engine of the OS converts print data (generally called a GDI (Graphic Device Interface) function) from a print application into a logical print request (generally called a DDI (Device Driver Interface) function) that can be interpreted by a printer driver. This request is transmitted to the printer driver for controlling the printer. The printer driver then interprets the logical print request and generates a printer control command (generally called a page description language (PDL)) that can be recognized by the printer.
As other print sequences, some print applications can autonomously generate printer control commands that can be recognized by printers. More specifically, Adobe-compatible applications such as PageMaker (registered trademark), Photoshop (registered trademark), and CorelDraw′ (registered trademark) can issue PS (Postscript) data by their own functions. As described above, in a printing system in which an application can autonomously generate a printer control command, the print application obtains permission from the printer driver to autonomously generate a printer control command, and can directly transmit print data to the printer without the mediacy of most of the function of the printer driver.
In this case, the printer driver can inhibit the generation of a printer control command by the application upon a negotiation with the application. In general, however, when an application autonomously generates a printer control command, a printer control command desired by the application can be generated. This improves the print quality. In addition, since the amount of processing performed by the printer driver decreases, the number of programs (some of a plurality of modules of the printer driver) that operate from the start of printing to the end of printing performed by the application decreases. As a consequence, the print speed increases. For these reasons, conventionally, a printer driver does not inhibit an application from generating a printer control command when the application can generate it, thereby allowing the application to autonomously generate a printer control command and performing printout operation.
In such a conventional printing system including an application capable of generating a printer control command, however, the application autonomously generates a printer control command, and the printer driver transmits printer control language data (PS data) received from the application to the printer. In the printing system, therefore, the application autonomously generates a printer control command, and directly transmits print data to the printer without the mediacy of most of the function of the printer driver. The functions provided by the printer driver include a page layout function executed by an N-page print function, printing/bookbinding function, or the like, and an information adding function of adding a stamp indicating “intra-company secret” or “secret”. These functions are transferred to the print data generating module of the printer driver after a print command (DDI function) received through the OS is interpreted by the printer driver to be spooled as intermediate data, and a page layout and information are added to the data. If the data received through the OS is not a print command (DDI function) but is print data (PS data), the printer driver cannot execute a printer driver function such as the N-page print function (the function of printing a plurality of logical pages on one physical page) or the printing/bookbinding function (the function of printing and making a layout for bookbinding). These additional functions cannot be used.